package com.axzh.interview.oj;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String s = in.nextLine();
		String[] word = s.split(" ");
		System.out.println(word[word.length-1].length());
		in.close();
	}
}

/*
 * 找出第一个出现次数为1的字符
 * public static void main(String[] args) { BufferedReader in = new
 * BufferedReader(new InputStreamReader(System.in)); try { String str_T =
 * in.readLine(); int T = Integer.parseInt(str_T); for (int i = 0; i < T; i++) {
 * String str = in.readLine(); Map<Character,Integer> map = new
 * LinkedHashMap<Character,Integer>(); for(int j=0;j<str.length();j++) { char
 * tmp = str.charAt(j); if(map.containsKey(tmp)) { map.put(tmp, map.get(tmp)+1);
 * } else { map.put(tmp, 1); } } for(Map.Entry<Character, Integer>
 * entry:map.entrySet()) { if(entry.getValue()==1) {
 * System.out.println(entry.getKey()); break; } } } } catch (IOException e) { //
 * TODO Auto-generated catch block e.printStackTrace(); } catch
 * (NumberFormatException e) { // TODO Auto-generated catch block
 * e.printStackTrace(); }
 * 
 * }
 */

/*
 * 找镇长
 * public static void main(String[] args) { BufferedReader reader = new
 * BufferedReader(new InputStreamReader(System.in)); try { reader.readLine(); }
 * catch (IOException e) { // TODO Auto-generated catch block
 * e.printStackTrace(); }
 * 
 * 
 * Scanner in = new Scanner(System.in);
 * 
 * int T = in.nextInt(); for(int i=0;i<T;i++) { int n = in.nextInt(); int m =
 * in.nextInt(); if(m==0) { System.out.println(0); System.out.println(); } else
 * { Map<Integer,Integer> counter = new HashMap<Integer,Integer>(); for(int
 * j=0;j<m;j++) { int key = in.nextInt(); int value = in.nextInt();
 * if(key!=value) { if(counter.containsKey(value)) { counter.put(value,
 * counter.get(value)+1); } else { counter.put(value, 1); } } } for(int
 * j=0;j<m;j++) { int key = in.nextInt(); int value = in.nextInt();
 * if(key!=value) { if(counter.containsKey(key)) { counter.remove(key); } } }
 * int[] tmp=new int[counter.size()]; int max = 0; for(Map.Entry<Integer,
 * Integer> entry:counter.entrySet()) { if(entry.getValue()>max) { max =
 * entry.getValue(); tmp[0] = entry.getKey(); } } int count = 0;
 * for(Map.Entry<Integer, Integer> entry:counter.entrySet()) {
 * if(entry.getValue()==max && tmp[0]!=entry.getKey()) { //max =
 * entry.getValue(); tmp[count] = entry.getKey(); count++; } } if(count==0) {
 * System.out.println(1); System.out.println(tmp[0]); } else {
 * System.out.println(count+1); for(int j=0;j<count;j++) {
 * System.out.print(tmp[j]+" "); } System.out.println(); } } } in.close(); }
 */
